<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /* 
            数组(Array)
                - 数组也是一种符合数据类型，在数组可以存储多个不同类型的数据
                - 数组中存储的是有序的数据，数组中的每个数据都有一个唯一的索引
                    可以通过索引来操作获取数据
                - 创建数组
                    通过 Array() 来创建数组, 也可以通过 [] 来创建数组

                - 向数组中添加元素
                    语法：数组[索引] = 元素

                - 读取数组中的元素
                    语法：
                        数组[索引]
                        - 如果读取了一个不存在元素，不报错而是返回undefined
        */

        const arr1 = new Array();
        const arr2 = ['a', 'b', 'c'];
        arr1[0] = 1;
        arr1[1] = 2;
        arr1[2] = 3;

        console.log(arr1);
        console.log(arr1.length);
        arr1.length = 2;
        console.log(arr1);  // [2]的内存被释放
        arr1.length = 3;
        console.log(arr1);  // 读取不到 3

        console.log(arr2);

        /* 
            定义一个Person类，类中有两个属性 name 和 age
                然后创建几个 Person 对象，将其添加到一个数组中

            遍历数组
        */

        class Person{
            name;
            age;
            
            constructor(name, age)
            {
                this.name = name;
                this.age = age;
            }
        }

        const personArr = [
            new Person("张三", 18),
            new Person("李四", 28),
            new Person("王五", 38)
        ]

        for (let i = 0; i < personArr.length; i++) {
            console.log(personArr[i]);
        }
    </script>
</head>
<body>
    
</body>
</html>